home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Libraries / SAT / SATcollision ƒ / sApple.p next >
Encoding:
Text File  |  1993-10-04  |  895 b   |  49 lines  |  [TEXT/PJMM]

  1. { Apple sprite for SATcollision }
  2.  
  3. unit sApple;
  4.  
  5. interface
  6.  
  7.     uses
  8.         SAT;
  9.  
  10.     var
  11.         TheSound: Handle;
  12.         AppleFace: FacePtr;
  13.  
  14.     procedure InitApple;
  15.     procedure SetupApple (me: SpritePtr);
  16.     procedure HandleApple (me: SpritePtr);
  17.  
  18. implementation
  19.  
  20.     procedure InitApple;
  21.     begin
  22.         TheSound := SATGetSound(128);
  23.         AppleFace := GetFace(132);
  24.     end;
  25.  
  26.     procedure SetupApple (me: SpritePtr);
  27.     begin
  28.         me^.speed.h := 1 + Rand(3);
  29.         me^.kind := -1; {Enemy kind}
  30.         me^.face := AppleFace;
  31.         SetRect(me^.hotRect, 0, 0, 32, 32);
  32.     end;
  33.  
  34.     procedure HandleApple (me: SpritePtr);
  35.     begin
  36.         if me^.kind <> -1 then {Something hit us!}
  37.             begin
  38.                 SATSoundPlay(TheSound, 1, false);
  39.                 me^.task := nil; {Go away}
  40.             end;
  41. {Move}
  42.         me^.position.h := me^.position.h + me^.speed.h;
  43.         if me^.position.h > offSizeH - 16 then
  44.             me^.speed.h := -1 - Rand(3);
  45.         if me^.position.h < -16 then
  46.             me^.speed.h := 1 + Rand(3);
  47.     end;
  48.  
  49. end.